package com.y.game.emtity;

import java.util.Random;

/**
 * 生产图形的工厂
 */
public class ShapeFactory {
	
	// 保存所有图形
	// 图形按照 4 行 4 列 一维数组方式存放与读取
	private int[][][] shapes = new int[][][]{
		/* 第一种图形 */
		{
			/* 第一种形状 */
			{
				1, 0, 0, 0,
				1, 0, 0, 0,
				1, 1, 0, 0,
				0, 0, 0, 0
			},
			/* 第二种形状 */
			{
				1, 1, 1, 0,
				1, 0, 0, 0,
				0, 0, 0, 0,
				0, 0, 0, 0
			},
			/* 第三种形状 */
			{
				1, 1, 0, 0,
				0, 1, 0, 0,
				0, 1, 0, 0,
				0, 0, 0, 0
			},
			/* 第四种形状 */
			{
				0, 0, 1, 0,
				1, 1, 1, 0,
				0, 0, 0, 0,
				0, 0, 0, 0
			}
		}
		
		
	};
	
	// 得到一个图形
	public Shape getShape() {
//System.out.println("ShapeFacotry getShape");
		
		Shape shape = new Shape();  // 创建图形
		int rand = new Random().nextInt(shapes.length);
		shape.setShapeBody(shapes[rand]);
		shape.setShapeStatus(0);  // 默认从第一个形态显示
		
		return shape;
	}
}
